The present invention relates to a motion path simulating technique for preventing an obstruction due to mis-teaching to a robot, which is likely to occur in constructing an automated system using an industrial robot, and securing a safe working environment.
In teaching a required motion to a robot, it is very important to confirm that the teaching has been correctly completed, especially that the teaching does not involve an unintended path movement in view of ensuring normal robot operation and also preventing physical injury and interference with a peripheral device. As a method for confirming the teaching in view of the above, the following two methods are conventionally known.
(I) A playback operation of the taught program is performed on the condition that the robot moves at a very low speed, for example, by designating a low override value, and safety of a motion is visually confirmed.
(II) Using a system for performing teaching and confirmation of a motion in an off-line state, safety of the motion is sufficiently confirmed by the off-line system and then an operation program is downloaded to a robot controller to be used in a real operation.
However, both of the techniques have problems. In the technique (I), extremely low-speed motion and close attention of an operator are required in order to surely avoid an unexpected accident. Therefore, work efficiency is very low, and an operator bears a large burden. Generally, it is usual that several times of corrections are needed until teaching of a desired motion is completed. Therefore, if confirmation of the motion by the low-speed operation is performed each time, large time is consumed in entire teaching operation. Further, there are many cases where an operation program is modified, after teaching is once completed, due to a change of type or arrangement of a robot hand or a peripheral device to be used. In such cases, large time is additionally consumed in confirmation of a motion resulting from the modified program.
The technique (II), which performs confirmation of a motion in the off-line system, does not need a real motion of a robot. Therefore, safety of confirmation operation itself is ensured. However, in order to raise reliability of the confirmation of a motion, precise reproduction of a robot motion in the off-line system is required, and data input work and the like for such precise reproduction is very burdensome. Further, if type or arrangement of a robot hand or a peripheral device is changed after an operation program which has undergone the confirmation in the off-line state is downloaded to a real machine, the operation program is modified accordingly. Thus, the confirmation by the low-speed operation as described in the above (I) is required after all.
An object of the present invention is to make it possible to simulate a motion path after it is modified and to obtain information useful in finding an error in teaching of a motion path without using an off-line simulation system and without repeating low-speed playback operation of a real machine each time teaching of a motion path is modified. Another object of the present invention is to make it possible, even when a playback operation of a real machine is started or about to be started after teaching of a motion path is modified, to stop the motion of a robot to prevent an accident if it is found that the modified teaching has an error. By doing so, safety and efficiency of teaching operation is improved.
According to the present invention, a robot controller has a function of simulating a motion path, in addition to ordinary functions by operation program storing means, operation program regenerating means, and real motion means for making a robot perform a real motion when an operation program is played back.
The motion path simulating function of the robot controller of the present invention is based on path memory means for storing a motion path described in an operation program when the operation program stored in the operation program storing means is played back, and path comparison means for comparing a motion path described in the operation program with a motion path described in a preceding operation program. The path memory means, the path comparison means and the real motion means can be designated selectively to be operative or non-operative, according to a mode of performance. An operation program may be played back in a manner such that the robot does not perform a real motion or in a manner such that the robot performs a real motion. Further, combined designation such that the robot performs or does not perform a real motion selectively may be provided.
The path comparison means used in the present invention uses a first motion path memorized in the path memory means as a reference motion path and compares a motion path described in the second operation program with the reference motion path when the second operation program other than an operation program describing the reference motion path is played back. Then a difference between both motion paths is evaluated with regard to position or both position and orientation of the robot (typically, a tip of a tool), and result of evaluation is outputted.
When the path memory means stores a motion path including data indicative of an interpolation point, and the path comparison means compares a played back motion path and a reference motion path using data indicative of interpolation points on both motion paths, a difference between the played back motion path and the reference motion path can be evaluated with high precision.
In a preferred embodiment, there are additionally provided a function of automatically displaying result of the evaluation outputted from the path comparison means, for example, on a display provided on a teaching operation panel, and a function of outputting a predetermined message (for example, outputting on a display a warning of exceeding a reference value, or outputting a sound alarm activating signal) when result of the evaluation indicates that there is a difference exceeding the reference value between a played back motion path and a reference motion path.
The present invention may be arranged such that when the robot is made to perform a real motion by playing back an operation program, if the path comparison means outputs result of the evaluation indicating that there is a difference exceeding the reference value between a played back motion path and a reference motion path, the real motion state of the robot is nullified to prohibit the succeeding motion of the robot. In this arrangement, the robot can be made to perform a real motion checking a difference between a played back motion path and a reference motion path, and when the real motion path deviates largely from the reference path, the real motion of the robot can be stopped to prevent dangers. This is also helpful in finding where mis-teaching occurs.